package com.hmkj.trade_push.config;

import com.hmkj.core.api.ufx.call.TransactionCall;
import com.hmkj.trade_push.queue.DealPushQueueThread;
import com.hmkj.trade_push.queue.EntrustPushQueueThread;
import com.xiaoleilu.hutool.util.ThreadUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * 初始化数据
 */
@Slf4j
@Component
public class Init implements CommandLineRunner {
    @Override
    public void run(String... strings) throws Exception {

        // 初始化交易服务器连接
        TransactionCall.getInstance().initT2();
        log.info("初始化交易服务器连接成功！");
        // 订阅交易主推信息
        TransactionCall.getInstance().reqTradePush();
        log.info("订阅交易主推信息成功！");

        // 启动期货成交回报处理队列
        ThreadUtil.execute(new DealPushQueueThread());
        log.info("启动期货成交回报处理队列成功！");
        // 启动期货委托回报处理队列
        ThreadUtil.execute(new EntrustPushQueueThread());
        log.info("启动期货委托回报处理队列成功！");
    }
}
